package com.wxapp.admin.api.pojo.vm.dept;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wxapp.common.constant.base.IBaseTree;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author lgl
 * @Description 部门列表
 * @Datetime 2022/8/6 17:46
 * @Modified By
 */
@Data
public class PDeptTreeVm extends IBaseTree<PDeptTreeVm> {

    /**
     * 是否删除 一般默认不删除 false
     */
    @Schema(description = "删除 ")
    private Boolean status;

    /**
     * 创建者 填充策略为插入自动填充
     */
    @Schema(description = "创建人 ")
    private String createBy;

    /**
     * 创建时间 填充策略为插入自动填充
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private LocalDateTime createTime;

    /**
     * 更新者 填充策略为插入和更新填充字段
     */
    @Schema(description = "更新人 ")
    private String updateBy;

    /**
     * 更新时间 填充策略为插入和更新填充字段
     */
    @Schema(description = "更新时间 ")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private LocalDateTime updateTime;

    /**
     * 祖级列表
     */
    @Schema(description = "祖级列表", requiredMode = Schema.RequiredMode.REQUIRED)
    private String ancestors;

    /**
     * 部门名称
     */
    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String deptName;

    /**
     * 图片
     */
    @Schema(description = "图片", requiredMode = Schema.RequiredMode.REQUIRED)
    private String deptImages;

    /**
     * 显示顺序
     */
    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer orderNum;

    /**
     * 负责人
     */
    @Schema(description = "负责人", requiredMode = Schema.RequiredMode.REQUIRED)
    private String leader;
    /**
     * 负责人名称
     */
    @Schema(description = "负责人名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String leaderName;

    /**
     * 联系电话
     */
    @Schema(description = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
    private String phone;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED)
    private String email;
    /**
     * 是否能用
     */
    @Schema(description = "是否能用", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean work;
    /**
     * 是否能用
     */
    @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
    private String companyName;
}
